1. Field of Invention
The present invention relates generally to the field of optimizing the operation of a content-based network such as for example a cable or satellite network. More particularly, the present invention is in one exemplary aspect related to apparatus and methods for optimizing network bandwidth utilization by selective delivery of programs including specific versions or variants of those programs, and avoiding duplication of programming.
2. Description of Related Technology
Many networks including, for example, cable television or satellite networks, deliver digital audio/video programming to users. In all of these networks, capacity (typically described in terms of bandwidth) is limited. Often, at certain nodes or points within the network, “bottlenecks” can occur, wherein the output capacity of particular network nodes may at times be insufficient to accommodate the number of program streams that are requested by users “downstream” from those nodes.
As an example, a Broadcast Switched Architecture (BSA) cable television network such as that described in co-assigned application Ser. No. 09/956,688, entitled “Technique for Effectively Providing Program Material in a Cable Television System”, incorporated herein by reference in its entirety, delivers only a subset of available programming to network subscribers in order to optimize bandwidth. Delivery of programming is typically based on customer requests for programming; however, bandwidth consumption may vary greatly during the day. In a fixed bandwidth model, the BSA architecture delivers a fixed amount of programming based on the fixed bandwidth constraint; the programming actually delivered at any given time will be only a fraction of the total of the programming available to the user base.
In a typical BSA environment such as that utilized by the assignee hereof, Standard Definition (SD) television resolution utilizes MPEG-2 encoding and quadrature amplitude (QAM) modulation, and enables carriage of a prescribed number (e.g., 10) SD sessions on one RF channel or QAM. Since a typical service group consists of 4 RF channels, 40 simultaneous SD sessions can be accommodated within such a service group.
More and more U.S. and international households are beginning to purchase High Definition (HD) televisions (HDTV). To keep up with the trend, multiple systems operators (MSOs) have begun offering a greater variety of HD television programs to cable customers, thereby allowing for greater subscriber utilization of the HD capability of their televisions, and ostensibly greater subscriber satisfaction.
Entertainment-quality transmission of HD signals requires about four times as much bandwidth as SD transmission. Although revenues from HD service may not be four times the revenue from SD service, the ability to offer HD service is often critical to cable operators' strategy to being a leader in digital television service offerings, and maintaining a high level of subscriber satisfaction (and low turnover).
In addition to HD signals, various forms or formats of content encoding are also becoming more prevalent within both content-delivery networks (and associated IP networks), and user devices associated therewith. For example, certain types of lossy encoding may be sufficient in certain applications, as may certain bitrates which are reduced from nominal or higher-quality bitrates for that codec (such as for portable devices which are unable to handle very high bitrate encodings, or which may have reduced resolution display capabilities that cannot make use of HD or other high-quality encodings). Different devices may simply utilize different formats as well, such as for example the use of AVCHD encoders particularly designed to reduce storage requirements for handheld video devices.
Moreover, so-called “up-conversion” systems are becoming more prevalent, such as where a given device is adapted to enhance a given bitrate or resolution of encoding (e.g., an SD program stream) to a higher resolution or quality; e.g., to provide “near-HD” quality based on an SD encoding.
Bitrates for various types of content may also be affected by the multiplexing and/or stuffing schemes employed. For example, in many existing systems, variable bitrate (VBR) digitally encoded program streams are converted to constant bitrate (CBR) program streams to facilitate multiplexing of those program streams to form higher rate streams more suitable for conveyance on a service provider's transmission facilities. A variable bitrate (VBR) stream may be converted to a CBR stream by reducing its bitrate when it exceeds a target CBR, or adding null bits to it (“stuffing”) when its bitrate falls below the target CBR; this is referred to as “clamping” the stream. This clamping is performed by or after encoding, but before multiplexing the program stream with other program streams.
Hence there is a fairly broad spectrum of consumer premises equipment (CPE) that conceivably would be serviced by content-based networks, ranging from small, portable devices with relatively low bitrate interfaces, lower bitrate codecs and lower-resolution displays, to high-end residential or premises devices adapted to receive and utilize HD or other similar high-resolution or high-bitrate encodings. Some subscribers in the typical cable network for example might have only an SD receiver and television. Others may have an SD receiver, with “up-conversion” apparatus (e.g., the receiver, a DVR, or DVD player and an associated HDTV monitor). Yet others may have an SD and HD receiver and associated HDTV. While increasing the number of different environments and permutations of capabilities present within the MSO's network (and accordingly complexity), such a “patchwork” of heterogeneous CPE capabilities also potentially affords the MSO with opportunities for managing bandwidth consumption based on these differing capabilities.
Video consumption typically changes in two different manners: the first is by the number of different channels being consumed (for example, how many different program channels are being watched at any given time in a service group), and the second is by the type or nature of programming being requested; e.g., “long tail” (less popular) vs. popular, or highly compressible vs. not compressible (sports are often not compressible due to inter alia high rates of motion), and so forth. The current lineup or type of programming service can vary significantly from moment to moment. Nonetheless, the total number of individual programs being delivered over the network may remain the same. The actual consumption or use of those programs may vary through, for example, a twenty-four hour viewing period, and it may often be the case that one or more programs are not being viewed at any given time.
In a BSA environment, it is often not possible to ascertain with complete certainty whether a user or groups of users are viewing particular ones of the delivered programs, and thus the BSA environment must make certain assumptions about the demand for the available programs. Hence, under such circumstances, programming could be removed from service inadvertently when it was in fact being watched, or a user could maintain a connection to a certain program, stop viewing that program for a certain period of time without disabling the connection, and return to find that connection to that program or program channel no longer available.
Programs within the cable network may be unicast (i.e., where one user can view the content, such as in a VOD scenario), or multicast (two or more users can view the same content). During certain periods, an SD version of a program will be broadcast on one channel, and the HD counterpart thereof broadcast a second channel (SD/HD simulcast). During other periods, the SD version of a program will be broadcast on both channels (SD/SD simulcast).
On-demand (OD) service such as VOD is typically offered over a given number (e.g., 4) of RF channels from the available spectrum. Thus, an OD Service Group consists of homes receiving OD signals over the same 4 RF channels. Reasons for this grouping include (i) that it lends itself to a desirable “symmetry of two” design of products (e.g. Scientific Atlanta's MQAM), and (ii) a simple mapping from incoming Asynchronous Serial Interface (ASI) payload rate of 213 Mbps to four QAM payload rates.
From the discussion above, the need for effective and efficient allocation of the bandwidth within the network is evident. One such prior art function, called a Service Resource Manager (SRM), is used for allocating bandwidth based on OD session requests. When a new session (e.g., VOD) request is made, the SRM receives that request, allocates bandwidth on a downstream QAM channel, and sends the information back to the CPE that made the request so that it can tune to the right RF channel and the program therein. Since the SRM controls mapping of incoming session requests to QAM channels within the service group, it is an appropriate place for a Cable Operator to enforce RF channel usage policy. In general, the SRM should maximize availability of bandwidth to OD and other sessions (by efficiently recycling bandwidth from expired sessions) and by ensuring some level of redundancy in case of equipment failure (e.g. a QAM modulator goes down). The SRM function can be implemented at the edge or core of the network, in a VOD server, or elsewhere. Depending on where this function is implemented, it is variously referred to as NSG (Network Services Gateway) and SRM (Service Resource Manager).
For example, in a Scientific Atlanta network, the VOD server acts as the service resource manager and asks the Digital Network Control System (DNCS) for specific resources. The DNCS responds with a negative or positive response to the request and the VOD server implements the appropriate logic based on the response.
The SeaChange MediaCluster Server device manufactured by SeaChange International Corporation comprises a group of fault-resilient VOD servers connected over a network, in effect acting as one server. See, e.g., U.S. Pat. No. 5,862,312 to Mann, et al. issued Jan. 19, 1999 and entitled “Loosely coupled mass storage computer cluster” and its progeny. The SeaChange apparatus further includes a session resource manager (SRM), and associated connection manager (CM) and streaming service (SS). The CM ostensibly allocates bandwidth, selecting the best network delivery path over which to stream data to the requesting entity. The SS “optimizes” bandwidth and provides some level of fail-over behavior, such that software component failure will not necessarily cause loss or tear-down of the underlying sessions. No functionality relating to the selective conservation of bandwidth based on different service levels (e.g., SD or HD) is provided within this apparatus, however.
While useful for OD session allocation, the SRM function present in modern cable networks does not provide an adequate mechanism to selectively allocate bandwidth (or more importantly conserve bandwidth) for broadcasts based on their service level, e.g., SD or HD. Furthermore, no adequate mechanism for eliminating the redundancy within the aforementioned SD/SD simulcast paradigm is provided by the SRM, or for that matter any other prior art solution.
Various other schemes for resource and bandwidth management within a cable network are known. For example, U.S. Pat. No. 6,124,878 to Adams, et al. issued Sep. 26, 2000 entitled “Optimum bandwidth utilization in a shared cable system data channel” discloses a full service network (FSN) providing three communication channels that end between a headend and each set-top within the FSN. These channels comprise (1) forward-application-transport (FAT) channels that supply data from the headend to all or to only addressed ones of the set-tops, (2) a forward-data-channel (FDC) that supplies data from the headend to all or to only addressed set-tops, and (3) a reverse-data-channel (RDC) that supplies data from the set-tops to the headend. A fixed bandwidth FDC provides a first bandwidth portion for the high priority transmission of certain types of items at a continuous bitrate (CBR). All other items are transmitted over the FDC using at an available bitrate (ABR). A priority system for the selective transmission of these other items is based upon (1) how full a data buffer for an item is, as compared to a fullness reference, (2) how old the oldest data in the data buffer for the item is, as compared to an age reference. The fullness reference and the age reference are usually different for each of these other data items.
U.S. Pat. No. 6,169,728 to Perreault, et al. issued Jan. 2, 2001 and entitled “Apparatus and method for spectrum management in a multipoint communication system” discloses an apparatus and method for spectrum management in a cable system that controls upstream channel usage for secondary stations transmitting information to a primary station and downstream channel usage for secondary stations receiving information from a primary station. The apparatus and method controls channel load balancing, channel congestion, and channel assignment in the cable system, and controls upstream channels independently from downstream channels. Factors and parameters utilized in such channel control and allocation include error parameters, channel noise parameters, transmit and receive loading factors, and congestion parameters.
U.S. Pat. No. 6,211,901 to Imajima, et al. issued Apr. 3, 2001 and entitled “Video data distributing device by video on demand” discloses a mechanism that determines whether or not the broadcast of a requested video is to be provided in a FVOD (full video on demand) or an NVOD (near video on demand) service, and if there is any available channel (bandwidth) for the broadcast. If the broadcast has not been switched from the FVOD service to the NVOD service, then a busy state monitoring mechanism checks the number of the current simultaneous subscribers for the video. If the number is equal to or larger than a threshold, then the busy state monitoring mechanism instructs an NVOD service providing mechanism to broadcast the requested video in the NVOD service. If the number is smaller than the threshold, then the busy state monitoring mechanism instructs an FVOD service providing mechanism to broadcast the requested video in the FVOD service.
U.S. Pat. No. 7,207,055 to Hendricks, et al. issued Apr. 17, 2007 entitled “Bandwidth allocation for a television program delivery system” discloses a method of allocating bandwidth for a television program delivery system. This method selects specific programs from a plurality of programs, allocates the selected programs to a segment of bandwidth, and continues to allocate the programs until all the programs are allocated or all of the available bandwidth is allocated. The programs may be selected based on a variety of different factors or combination of factors. The selected programs may also be prioritized so that higher priority programs are distributed before lower priority programs in case there is not enough bandwidth to transmit all of the programs. This invention allows a television program delivery system to prioritize a number of television programs and distribute these programs based on their priority levels. The invention also permits a television program delivery system to dynamically allocate bandwidth over time or based on marketing information, such as consumer demand.
United States Patent Publication No. 20020095684 to St. John, et al. published Jul. 18, 2002 end entitled “Methods, systems and computer program products for bandwidth allocation based on throughput guarantees” discloses methods, systems and computer programs for controlling access to a shared communication medium such as a cable network utilizing a revolving priority queue. The revolving priority queue (RPQ) is divided into at least a low priority tier having a plurality of request queues and a high priority tier having a plurality of request queues. A request is directed into an initial queue in the high priority tier if throughput for an end user associated with the request fails to meet a guaranteed throughput. Furthermore, bandwidth may be allocated based on an order in which requests are read from the RPQ, where requests are read from the high priority tier before requests are read from the low priority tier of queues. Additional system embodiments are provided which may be used for requests or for packet-based bandwidth allocation.
United States Patent Publication No. 20040226044 to Goode published Nov. 11, 2004 entitled “Network bandwidth optimization by dynamic channel allocation” discloses a method for increasing channel utilization in a video broadcast system includes receiving, at a headend, a request for a video program from one of a plurality of subscriber stations. Determining whether the requested video program is associated with a first subset of channels representing broadcasted channels having a first subscriber viewership level greater than a threshold level, a second subset of channels representing broadcasted channels having a second subscriber viewership level less than the threshold level, and a third subset of channels representing on-demand channels having a third subscriber viewership. The first subset of broadcast channels is substantially continuously transmitted. The second subset of broadcast channels is transmitted based upon channel availability and programming assignments. The third subset of on-demand channels are transmitted from the headend to at least one of the plurality of subscriber stations upon assigning video programming corresponding to the requesting subscriber station.
United States Patent Publication No. 20060171390 to La Joie published Aug. 3, 2006 entitled “Method and apparatus for network bandwidth conservation” discloses methods and apparatus for conserving bandwidth within a network based on two or more different service levels. In an exemplary embodiment, programming that is simulcast on two or more program channels is mapped to one physical channel during periods when the programming is scheduled at only one service level (e.g., standard definition), thereby conserving bandwidth on the network that would otherwise be consumed by the simultaneous broadcast on the two or more channels. When the programming service level becomes heterogeneous across the channels (e.g., SD and HD simulcast), physical channel(s) supporting the HD content are provided within a local service area only “on-demand” using, for example, a switched digital channel allocation. Accordingly, no HD broadcast occurs within a given area until at least one user requests it, thereby further conserving network bandwidth.
Despite the foregoing, there is a need to manage the operation of such content-based networks (including for example BSA networks of the type previously described) in order to allow maximum subscriber satisfaction through maximizing opportunities for delivery of enhanced content (such as e.g., HDTV) and other desired formats given the installed infrastructure base. For example, in the context of a cable or satellite network, it would desirable to be able to optimize bandwidth consumption and allocation with respect to both Standard Definition (SD) and High Definition (HD) services so that the aforementioned goal of providing more opportunities for HD content delivery for subscribers, without having to add capacity or further “build out” the network infrastructure.
Moreover, in the context of BSA and other switched networks, it would be desirable to have a mechanism which accounts for the particular dynamics of these networks (including inter alia the aforementioned uncertainty as to whether a given program stream is really un-utilized at a given point in time) so as to enhance network operation, flexibility and capacity, as well as maximize user/subscriber satisfaction.